package eu.catengine.common.iface;

import eu.catengine.common.listener.PositionListener;
import eu.catengine.primitive.Point;
import eu.catengine.primitive.Vector;

public interface IMovable
{
    /**
     * Zmienia położenie obiektów o wektor podany jako parametr. 
     */
    public void moveBy(Vector vector);
    
    /**
     * Zmienia położenie obiektów o wektor podany jako parametr. 
     */
    public void moveBy(float x, float y);

    /**
     * Zmienia położenie obiektów do punktu podanego jako parametr. 
     */
    public void moveTo(Point point);
    
    /**
     * Zmienia położenie obiektów do punktu podanego jako parametr. 
     */
    public void moveTo(float x, float y);

    /**
     * Ustawia obiekt nasłuchujący dla pozycji obiektów.
     */
    public void setPositionListener(PositionListener listener);
}
